package com.ftg.learn.chapter06;

import java.util.Arrays;

/**
 * 动态数组练习
 *
 * @author lijiaxin
 * @version 1.0
 * @date 2023/7/14 7:59
 */

public class DynamicTest {

    public static void q1(){
// 现有一个数组{1,2,3,4,1,1,2,3,4,4,5,5,6,7} ,请将数组数组里面的重复项去掉，把内容存储到自定的变长数组里。
//        Arrays.sort(arr);
//        System.out.println(Arrays.toString(arr));
//        for (int i = 0; i < arr.length; i++) {
//            int num=0;
//            for (int j = i; j < arr.length; j++) {
//                if(arr[i]!=arr[j]){
//                    DynamicArray d = new DynamicArray();
//                    d.add(arr[i]);
//                    for (int k = 0; k < d.size(); k++) {
//                        System.out.println(d.get(k));
//                    }
//                    num=j;
//                    break;
//                }
//            }
//            i = (num == 0) ? arr.length - 1 : num - 1;
//        }
        int[] array = {1, 2, 3, 4, 1, 1, 2, 3, 4, 4, 5, 5, 6, 7};
        DynamicArray d = new DynamicArray();
        for (int i = 0; i < array.length; i++) {
            boolean isDuplicate = false;
            for (int j = 0; j < d.size(); j++) {
                if (array[i] == d.get(j)) {
                    isDuplicate = true;
                    break;
                }
            }
            if (!isDuplicate) {
                d.add(array[i]);
            }
        }
        for (int i = 0; i < d.size(); i++) {
            System.out.println(d.get(i));
        }
    }

    public static void q2(){
//     请使用动态数组类，定义两个对象
//DynamicArray dd = new DynamicArray();
//DynamicArray dd1 = new DynamicArray();
// 分别将 {1,2,3} {2,3,4}依次添加到dd、dd1里面，然后求出不同的元素并打印。

        DynamicArray dd = new DynamicArray();
        dd.add(7);
        dd.add(2);
        dd.add(3);

        DynamicArray dd1 = new DynamicArray();
        dd1.add(2);
        dd1.add(3);
        dd1.add(4);

        DynamicArray dd2 = new DynamicArray();

        for (int i = 0; i < dd.size(); i++) {
            boolean found = false;
            for (int j = 0; j < dd1.size(); j++) {
                if (dd.get(i) == dd1.get(j)) {
                    found = true;
                    break;
                }
            }
            if (!found) {
                dd2.add(dd.get(i));
            }
        }
        for (int i = 0; i < dd2.size(); i++) {
            System.out.print("不同元素为："+dd2.get(i));
        }
    }


    public static void main(String[] args) {
        q1();
//        q2();
    }
}
